﻿namespace DbManager.QueryBuilder.DbEntity.Pot
{
    public class EntityPot : AEntityPot
    {
        public override string GetSelectQuery()
        {
            return "SELECT " +
                        "[Цена проезда].Идентификатор AS Hide_IDPot, " +
                        "[Цена проезда].[Идентификатор транспорт] AS Hide_IDTransport, " +
                        "[Цена проезда].[Идентификатор город] AS Hide_IDGorod, " +
                        "Направление.Идентификатор AS Hide_IDNapravlenie, " +
                        "Направление.Название AS Направление, " +
                        "Город.Название AS Город, " +
                        "Транспорт.Перевозчик, " +
                        "Транспорт.Транспорт, " +
                        "[Цена проезда].[Цена взрослый] AS [Цена проезда взросл], " +
                        "[Цена проезда].[Цена ребенок] AS [Цена проезда детск] " +
                   "FROM (((Транспорт INNER JOIN " +
                        "[Цена проезда] ON Транспорт.Идентификатор = [Цена проезда].[Идентификатор транспорт]) INNER JOIN " +
                        "Город ON [Цена проезда].[Идентификатор город] = Город.Идентификатор) INNER JOIN " +
                        "Направление ON Город.[Идентификатор направления] = Направление.Идентификатор)";
        }

        public override string GetUpdateQuery()
        {
            if (IDTransport == 0 || IDGorod == 0 || PriceAdult == 0 || PriceChild == 0 || ID == 0) return string.Empty;
            return "UPDATE [Цена проезда] SET  [Идентификатор транспорт] = " + IDTransport +
                   ", [Идентификатор город] = " + IDGorod + ", [Цена взрослый] = '" + PriceAdult +
                   "', [Цена ребенок] = '" + PriceChild + "' WHERE ([Цена проезда].Идентификатор = " + ID + ")";
        }

        public override string GetInsertQuery()
        {
            if (IDTransport == 0 || IDGorod == 0 || PriceAdult == 0 || PriceChild == 0) return string.Empty;
            return
                "INSERT INTO [Цена проезда] ([Идентификатор транспорт], [Идентификатор город], [Цена взрослый], [Цена ребенок]) VALUES  (" +
                IDTransport + ", " + IDGorod + ", '" + PriceAdult + "', '" + PriceChild + "')";
        }

        public override string GetDeleteQuery()
        {
            if (ID == 0) return string.Empty;
            return "DELETE FROM [Цена проезда] WHERE ([Цена проезда].Идентификатор = " + ID + ")";
        }
    }
}